Algorithmique et Programmation - STMG

Les instructions séquentielles, conditionnelles et itératives

Exercice 1 : Instruction conditionnelle if elif else - Python

On considère la fonction ci-dessous :

def mystere(n):
    if n > 7:
        return n + 7
    elif n <= 3:
        return n % 4
    else:
        return n * 9
Quelle est la valeur renvoyée par mystere(5)?
Quelle est la valeur renvoyée parmystere(9)?

Exercice 2 : Instruction conditionnelle if else - Python

On considère la fonction ci-dessous :

def mystere(n):
    if n < 4:
        return n % 4
    else:
        return n // 2
Quelle est la valeur renvoyée par mystere(5)?
Quelle est la valeur renvoyée parmystere(2)?

Exercice 3 : Dichotomie vers racine de polynôme 2nd degré (inspiré par Bac S Asie 2015)

On considère l'algorithme ci-dessous :

\(a\)\(2\)
\(b\)\(3\)
Tant que \(b - a \gt 0,3\) :
\(x\)\(\dfrac{a + b}{2}\)
Si \(\operatorname{f}{\left (a \right )} \times \operatorname{f}{\left (x \right )} \gt 0\) :
\(a\)\(x\)
Sinon
\(b\)\(x\)

Si \(f(x) = -16 + 2x^{2}\), quel est le resultat de \(\dfrac{a + b}{2}\) ?

Exercice 4 : PGCD - Algorithme d'Euclide (inspiré par Bac S Antilles-Guyane 2015 pour spé)

Pour deux entiers naturels non nuls \(c\) et \(p\), on note \(\operatorname{r}{\left (c,p \right )}\) le reste dans la division euclidienne de \(c\) et \(p\). On considère l'algorithme suivant :

   \(g\)\(\operatorname{r}{\left (c,p \right )}\)
   Tant que \(g \neq 0\) :
   \(c\)\(p\)
   \(p\)\(g\)
   \(g\)\(\operatorname{r}{\left (c,p \right )}\)
   Afficher « \(p\) »
[A]Si ??? :
   Afficher « \(c\) et \(p\) sont premiers entre eux »

Faire fonctionner cet algorithme avec \(c=41\) et \(p=27\) en indiquant les valeurs de \(c\), \(p\) et \(g\) à chaque étape.

{"header_left": ["c", "p", "g"], "data": [["41", "?", "?", "?"], ["27", "?", "?", "?"], ["?", "?", "?", "?"]]}

Cet algorithme donne en sortie le PGCD des entiers naturels non nuls \(c\) et \(p\). Par quelle expression doit on compléter la ligne [A] pour qu’il indique si deux entiers naturels non nuls \(c\) et \(p\) sont premiers entre eux ou non.

Exercice 5 : Appel de fonction Python avec une instruction conditionnelle if sans else

On considère la fonction Python suivante :

def mystere(n):
    if n >= 3 :
        n =  n % 3
    return n
Que renvoie l'appel de la fonction mystere(1) ?
Que renvoie l'appel de la fonction mystere(4) ?
False